Comparison Operators
তুলনা অপারেটর দুটি মান তুলনা করতে ব্যবহার করা হয়.
তুলনা অপারেটর সবসময় হয়trueবাfalseদিচ্ছে
x = 5এটি দেওয়া, নীচের সারণী তুলনা অপারেটর ব্যাখ্যা করে:
Comparison Operators
| Operator | Description | Comparing | Returns |
|---|---|---|---|
== |
equal to | x == 8 |
false |
x == 5 |
true |
||
x == "5" |
true |
||
=== |
equal value and equal type | x === 5 |
true |
x === "5" |
false |
||
!= |
not equal | x != 8 |
true |
!== |
not equal value or not equal type | x !== 5 |
false |
x !== "5" |
true |
||
x !== 8 |
true |
||
> |
greater than | x > 8 |
false |
< |
less than | x < 8 |
true |
>= |
greater than or equal to | x >= 8 |
false |
<= |
less than or equal to | x <= 8 |
true |
== বনাম === পার্থক্য:
==(আলগা সমতা) - শুধুমাত্র মান পরীক্ষা করে, প্রকার পরিবর্তন করার চেষ্টা করে
===(কঠোর সমতা) - মান এবং প্রকার উভয়ই পরীক্ষা করে
Usage in Conditional Statements
তুলনা অপারেটরগুলি শর্তসাপেক্ষ বিবৃতিগুলিতে মান তুলনা করতে এবং ফলাফলের উপর ভিত্তি করে পদক্ষেপ নিতে ব্যবহার করা যেতে পারে:
Example: Comparison in if statement
if (age < 18) {
text = "Too young to buy alcohol";
}
শেখা:
শর্তসাপেক্ষ বিবৃতি ব্যবহার সম্পর্কে এই টিউটোরিয়ালif...elseঅধ্যায়ে আরও জানতে পারবেন।
JavaScript String Comparison
উপরের সমস্ত তুলনা অপারেটর স্ট্রিংগুলিতেও ব্যবহার করা যেতে পারে:
Example: String Comparison
let text1 = "A";
let text2 = "B";
let result = text1 < text2; // true
মনে রাখবেন যে স্ট্রিংগুলি বর্ণানুক্রমিকভাবে তুলনা করা হয়:
Example: Alphabetical Comparison
let text1 = "20";
let text2 = "5";
let result = text1 < text2; // true
বর্ণানুক্রমিক তুলনা:
স্ট্রিং তুলনা করার সময়, জাভাস্ক্রিপ্ট প্রতিটি অক্ষরের ইউনিকোড মান তুলনা করে। "20" < "5" সত্য কারণ "2" (ইউনিকোড 50) "5" (ইউনিকোড 53) এর চেয়ে কম।
Comparing Different Types
বিভিন্ন ধরনের ডেটা তুলনা করলে অপ্রত্যাশিত ফলাফল পাওয়া যায়।
একটি সংখ্যার সাথে একটি স্ট্রিং তুলনা করার সময়, তুলনা করার সময় জাভাস্ক্রিপ্ট স্ট্রিংটিকে একটি সংখ্যায় রূপান্তর করে। একটি খালি স্ট্রিং 0 এ রূপান্তরিত হবে। একটি অ-সংখ্যাসূচক স্ট্রিং NaN এ রূপান্তরিত হয়, যা সর্বদা মিথ্যা হয়।
| Case | Value | Result | Explanation |
|---|---|---|---|
2 < 12 |
true |
true |
দুটিই সংখ্যা, 2 <12 সত্য |
2 < "12" |
true |
true |
"12" একটি সংখ্যায় রূপান্তরিত হয় এবং 12 হয়, 2 <12 সত্য |
2 < "John" |
false |
false |
"জন" NaN তে রূপান্তরিত হয়, কোন সংখ্যা NaN এর চেয়ে কম নয় |
2 > "John" |
false |
false |
"John" কে NaN তে রূপান্তর করা হয়েছে, NaN এর চেয়ে বড় কোন সংখ্যা নেই |
2 == "John" |
false |
false |
"জন" NaN তে রূপান্তরিত হয়, 2 == NaN মিথ্যা |
"2" < "12" |
false |
false |
স্ট্রিং তুলনা: "2" (ইউনিকোড 50) "1" (ইউনিকোড 49) এর চেয়ে বড়। |
"2" > "12" |
true |
true |
স্ট্রিং তুলনা: "2" > "1" সত্য |
"2" == "12" |
false |
false |
স্ট্রিং ভিন্ন |
গুরুত্বপূর্ণ নোট:
দুটি স্ট্রিং তুলনা,"2"হয়"12"থেকে বড় হবে
বর্ণানুক্রমিকভাবে 1 হল 2 থেকে কম (ইউনিকোড মান: "1" = 49, "2" = 50)।
Type Conversion for Proper Comparison
সঠিক ফলাফল পেতে, তুলনা করার আগে ভেরিয়েবলগুলিকে সঠিক টাইপে রূপান্তর করতে হবে:
Example: Proper Type Conversion
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
সর্বোত্তম অনুশীলন:
সর্বদা মিশ্র বিভাগের তুলনা এড়িয়ে চলুন। তুলনা করার আগে স্পষ্টভাবে বিভাগগুলি রূপান্তর করুন।
কঠোর সমতার জন্য (===এবং!==) অনুকূল অগ্রাধিকার দিন।
== vs === Deep Comparison
| Comparison | == Result |
=== Result |
Explanation |
|---|---|---|---|
5 == 5 |
true |
true |
একই মান এবং প্রকার |
5 == "5" |
true |
false |
==প্রকার পরিবর্তন,===ধরন পরীক্ষা করা হচ্ছে |
0 == false |
true |
false |
==মিথ্যাকে 0-এ রূপান্তরিত করে |
1 == true |
true |
false |
==1 এ সত্য ফেরত দেয় |
"" == false |
true |
false |
==উভয়কেই 0-এ রূপান্তরিত করে |
null == undefined |
true |
false |
==বিশেষ নিয়ম,===বিভিন্ন প্রকার |
null == 0 |
false |
false |
null0 এর সমান নয় |
Comparison with NaN
NaN (সংখ্যা নয়) হল একটি বিশেষ মান যা যেকোনো তুলনাতে ভিন্নভাবে আচরণ করে:
Example: NaN Comparisons
NaN == NaN; // false
NaN === NaN; // false
NaN != NaN; // true
NaN !== NaN; // true
NaN < 5; // false
NaN > 5; // false
NaN == 5; // false
NaN তুলনা নিয়ম:
NaN সহ কোন মূল্যের সমান নয়! NaN এর সাথে তুলনা করুনisNaN()ফাংশন ব্যবহার করুন:
let x = NaN;
isNaN(x); // true
Number.isNaN(x); // true
Exercise
নিম্নলিখিত তুলনা ফলাফল কি?
5 === "5"